package com.cskaoyan.javase.other._0date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 编写程序，计算自己出生了多少天。要求按照以下格式输入自己的出生日期，就能够得到结果：
 * 1999-08-08
 * 思路: 当前时间戳 - 出生时的时间戳 获取一个时间戳的差
 * @since 11:01
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo3 {
    public static void main(String[] args) throws ParseException {
        System.out.println("你已经出生了" + calcBirthTimes("1999-08-08") + "天!");
    }

    // 该方法传入一个出生日期字符串,然后返回活了多少天
    public static int calcBirthTimes(String birth) throws ParseException {
        // 1.需要将出生日期的字符串转换成Date对象,获取时间戳
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        // 解析字符串转换成Date对象,获取时间戳
        Date birthDate = sdf.parse(birth);
        long time1 = birthDate.getTime();
        // 2.获取当前的时间戳
        long time2 = new Date().getTime();
        // 获取时间戳的差
        long time = time2 - time1;
        return (int) (time / 1000 / 3600 / 24);
    }
}
